Парсер для сервиса ВкусВилл


- Папка user_data - единственное место где можно редактировать файлы (не разработчику).

- Файл user_data/generated_statistics/tables - статистика данных по парсингу.

- Файл user_data/list_of_products_for_parsing.txt - список товаров которые
будут парситься и по которым будет рассылаться статистика.

- Файл user_data/list_of_proxies.txt - список прокси который будет использоваться
при парсинге указанных продуктов.

- Файл user_data/malling_by_email.txt - список электронных почт.

- Файл user_data/settings.txt - файл с настройками парсинга. Пока там указано
только время для запуска парсера и отправки данных.


- Для запуска необходимо выполнить следующие действия:

===== 1. УКАЗАТЬ НЕОБХОДИМЫЕ ДАННЫЕ ДЛЯ ПАРСИНГА (когда уже будет скачан сам парсер, не забудьте) =====

  1.1 Указать какие товары будут парситься.

  1.2 Указать список электронных почт, с которой будет отправляться статистика и куда.
      В файле user_data/malling_by_email.txt написана инструкция как это сделать.

  1.3 Указать время для парсинга и отправки результатов.

  1.4 Указать прокси которые будут использоваться для парсинга.

  1.5 Создать файл в папке парсера (scraper_vkusvill) .env и заполнить его по шаблону файла .env.dist


===== 2. УСТАНАВЛИВАЕМ ОБНОВЛЕНИЯ СИСТЕМЫ =====

  2.1 Необходимо открыть терминал и выполнить такую команду:
      sudo apt update

  2.2 А потом такую:
      sudo apt upgrade


===== 3. УСТАНАВЛИВАЕМ PYTHON3.10 ======

  3.1 Выполняем такую команду:
      sudo apt install -y build-essential zlib1g-dev libffi-dev libsqlite3-dev libncurses5-dev

  3.2 Потом такую:
      sudo apt install -y libncursesw5-dev libreadline6-dev libdb5.3-dev

  3.3 Еще такую:
      sudo apt install -y libgdbm-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev

  3.4 Открыть файл в текстовом редакторе:
      sudo xed /etc/apt/sources.list

  3.5 В конец файла вставить указанную строку, сохранить и выйти:
      deb-src http://archive.ubuntu.com/ubuntu/ focal main

  3.6 Потом выполнить в терминале такую команду:
      sudo apt-get update

  3.7 Дальше выполняем указанную команду. Если не началась загрузка, то понижаем версию,
      пока на начнется загрузка.
      sudo apt-get build-dep python3.10 -y

  3.7.1 Понижаем так, если понадобится:
        sudo apt-get build-dep python3.9 -y

  3.8 Потом переходим по этой ссылке https://www.python.org/downloads/release/python-31011/
      Листаем почти в самый низ и находим таблицу под названием Files
      Тыкаем на Gzipped source tarball и загружаем

  3.9 Как все загрузится, выполняем в терминале такую команду:
      cd ~/Downloads

  3.10 Выполняем в терминале такую команду:
       tar xvf Python-3.10.11.tgz

  3.11 Потом такую команду:
       cd Python-3.10.11

  3.12 Потом такую команду:
       ./configure --prefix=/opt/python-3.10.11/

  3.13 Потом такую команду:
       make -j4

  3.14 Потом так:
       sudo make altinstall


===== 4. УСТАНАВЛИВАЕМ POSTGRESQL =====

  4.1 Выполняем такую команду:
      sudo apt -y install postgresql

  4.2 Выполняем такую команду:
      sudo -i -u postgres

  4.3 Выполняем такую команду:
      psql

  4.4 Вводим указанную запись, на месте password - пишем пароль
      (запомните его, потом необходимо будет вставить его в файл .env),
      только из букв и чисел:
      CREATE ROLE harry PASSWORD 'password';

  4.5 Вводим указанную запись:
      ALTER ROLE harry CREATEROLE CREATEDB LOGIN;

  4.4 Вводим указанную запись:
      CREATE DATABASE scraper_vkusvill;

  4.5 Закрываем терминал


===== 5. УСТАНАВЛИВАЕМ REDIS =====

  5.1 Опять открываем терминал и пишем:
      sudo apt-get install redis-server -y


===== 6. УСТАНАВЛИВАЕМ CHROME =====

  6.1 Устанавливаем браузер chrome в терминале раз:
      wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    
  6.2 Устанавливаем браузер chrome в терминале два:
      sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb

  6.3 Смотрим какая версия chrome установилась: открываем его и три точки в правом верхнем углу -> Настройки -> О chrome (в левой панели, внизу).

  6.3 Переходим сюда https://chromedriver.chromium.org/downloads
      Смотрим первые цифры и нажимаем на соответствующую версию.
      У меня установилась 113 версия chrome, значит я нажимаю на ChromeDriver 113.0.5672.63.

  6.4 Потом нажимаем на chromedriver_linux64.zip

  6.5 Когда парсер будет скачан, необходимо расспаковать скачанное и файл под
      названием chromedriver перенести в папку scraper_vkusvill/scraper


===== 7. ЗАПУСКАЕМ ПАРСЕР =====

  7.1. Открываем новый терминал и пишем так:
       такую команду:
       sudo apt-get install git

  7.2 После так:
      git clone https://notabug.org/borrya_/scraper_vkusvill

  7.3 После так:
      cd scraper_vkusvill

  7.3 После так:
      /opt/python-3.10.11/bin/python3.10 -m venv venv

  7.4 После так:
      source venv/bin/activate

  7.4 После так:
      pip install -r requirements.txt

  7.5 Запускаем парсер:
      python main.py
